﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataAccessLayer;
using Entities;

namespace Business
{
    public class ContComputador : Generic_Bus, ICadastro<Computador>
    {
        private RepositorioComputador repComputador;

        public ContComputador()
        {
            repComputador = new RepositorioComputador();
        }

        public void InserirCadastro(Computador objeto)
        {
            ValidacaoCompleta(objeto);
            repComputador.InserirCadastro(objeto);
        }

        public void AlterarCadastro(Computador objeto)
        {
            this.ValidarID(objeto.ID);
            ValidacaoCompleta(objeto);
            repComputador.AlterarCadastro(objeto);
        }

        public void ExcluirCadastro(Computador objeto)
        {
            this.ValidarID(objeto.ID);
            repComputador.ExcluirCadastro(objeto);
        }

        public Computador RetornarCadastro(int chave)
        {
            this.ValidarID(chave);
            return repComputador.RetornarCadastro(chave);
        }

        public IList<Computador> RetornarDados()
        {
            return repComputador.RetornarDados();
        }

        private void ValidacaoCompleta(Computador objeto)
        {
            this.ValidarStringEmBranco(objeto.HD, "HD");
            this.ValidarStringEmBranco(objeto.Memoria, "Memória");
            this.ValidarStringEmBranco(objeto.NumeroIdentificador, "Número Identificador");
            this.ValidarStringEmBranco(objeto.Processador, "Processador");
        }
    }
}
